import pageBody from '../../behaviors/page_body'
import commonEvent from '../../behaviors/common-event'

Page({
  behaviors: [pageBody, commonEvent],

  /**
   * 页面的初始数据
   */
  data: {
    categorys: [],
    categoryActive: -1,
    categoryLoading: true,
		categoryError: false,
    categoryErrorMsg: '分类加载失败',
    showPopup: false,
    product: {},
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 分享进来的分类id
    this.data.shareCateId = Number(options.cate_id) || 0
    this.getCategorys()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    wx.nextTick(() => {
			this.getBodyHeight()
		})
  },

  // 获取分类数据
  async getCategorys() {
    try {
      this.setData({
        categoryError: false,
      })
      const categorys = [
        { id: 0, name: '推荐' },
        { id: 1, name: '购物消费' },
        { id: 2, name: '交通出行' },
        { id: 3, name: '金融理财' },
        { id: 4, name: '新闻咨询' },
        { id: 5, name: '视频' },
        { id: 6, name: '音乐' },
        { id: 7, name: '游戏' },
        { id: 8, name: '小说' },
        { id: 9, name: '工具' },
      ];
      // 分享选中
      const categoryActive = categorys.findIndex(item => item.id == this.data.shareCateId)
      this.setData({
        categorys,
        categoryActive: categoryActive == -1 ? 0 : categoryActive
      })
    } catch (error) {
      this.setData({
        categoryError: true,
        categoryErrorMsg: error.message
      })
    } finally {
      this.setData({
        categoryLoading: false
      })
    }
  },

  // 分类点击切换
	onCategoryChange(event) {
		const { index } = event.detail
		// 改变分类下标
		this.setData({
			categoryActive: parseInt(index)
		})
	},

	// 分类轮播切换
	onSwiperChange(event) {
		const { source, current } = event.detail
		if (source == 'touch') {
			this.onCategoryChange({ detail: { index: current } })
		}
  },
  
  // 显示页面弹出容器
  onShowPopup(event) {
    // 保存当前按钮传递的数据
    this.setData({
      showPopup: true,
      product: event.detail
    })
    // 改变 transform 状态，使其执行 Hero 动画
    this.data.product.toggleTransform()
  },

  // 关闭弹窗
  onClosePopup() {
    this.setData({
      showPopup: false,
    })
  },

  // 滑动关闭弹窗后
  onPopupLeave() {
    // 调用当前按钮的回调方法 改变 transform 状态
    this.data.product.toggleTransform()
  },

  // 点击跳转
  onBtnPress(event) {
    const product = event.detail
    this.onOpenLink(product)
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    const cate_id = this.data.categorys[this.data.categoryActive].id
    return {
			title: '一个百宝箱 整个世界',
			path: '/pages/index/index?cate_id=' + cate_id
		}
  }
})